package chapter9.section5;

//程序9-9 文本替换操作的实现
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegDemo {
	public static void main(String[] args) {
		String regx = "\\bdog\\b";// \\b表示单词边界
		String input = "My dog,your dog,his dog,her dog,we all love it!";
		Pattern pattern = Pattern.compile(regx);
		Matcher matcher = pattern.matcher(input);
		StringBuffer buffer = new StringBuffer();// 创建一个StringBuffer对象，存放替换后的字符序列
		while (matcher.find()) {
			System.out.println("匹配位置在" + matcher.start() + "-" + matcher.end());
//将从上次匹配结束位置到本次发现的起始位置中的子串复制到buffer中，并添加cat子串
			matcher.appendReplacement(buffer, "cat");
		}
//appendTail方法将源字符串中剩余的子串追加到buffer中
		matcher.appendTail(buffer);
		System.out.println(buffer);
	}
}
